<html>
<head>
<link rel="stylesheet" href="page.css" type="text/css">
<meta NAME="Keywords" CONTENT="3D,graphics,modeling,simulation,computation,research,development,software,multi-platform gui,multi-platform user interface,application toolkit,visualization,rendering">
<title>News</title>
</head>
<body bgcolor=#ffffff link=#990033 vlink=#990033 alink=#990033 text=#000000>


<!---- TOPIC TITLE WITH LOGO--->
<table border=0 cellpadding= cellspacing=2 width=100% ><tr><td><a href='http://www.fox-toolkit.org' target=_top><img src='art/foxlogo_small.jpg' border=0></a></td><td width=100% valign=bottom id="HEADLINE"><b>
News  <A href='news.html' target="_top" align=left><font  size=-2>[Remove Frame]</font></a>
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE WITH LOGO --->


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
October 18, 2004 - FOX DEVELOPMENT 1.3.16
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
<ul>
  <li>FXToolBarGrip and FXToolBarTab now support tooltips.</li>
  <li>Fix FXBitmap::crop() to match FXImage::crop().</li>
  <li>Pass margins in FXText's constructor.</li>
  <li>Changed type of FXSELID and FXSELTYPE back to unsigned short.</li>
  <li>Fixed overstrike bug in FXTextField.</li>
  <li>FXTabBar and FXTabBook now properly observe LAYOUT_FIX_WIDTH and LAYOUT_FIX_HEIGHT
  in the FXTabItems.</li>
  <li>Fixed bug in Adie preferences panel style editing; thanks to Sander for discovering
  this.</li>
  <li>Made some enum's public in various list items; some options were inaccessible to
  user programs.</li>
</ul>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
October 9, 2004 - FOX DEVELOPMENT 1.3.15
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
<ul>
  <li>The raise() API does not make a window the foreground window anymore except
  if the window is derived from FXTopWindow; this only pertains to WIN32.</li>
  <li>Adie highlighting pattern for PHP added.</li>
  <li>Added some tests in FXString to check for NULL arguments passed to assign and other API's.</li>
  <li>Fixed some problems in FXWString.</li>
  <li>Fixed fox-config --cflags output: now inludes full header path.</li>
</ul>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
October 9, 2004 - FOX DEVELOPMENT 1.3.14
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
<ul>
  <li>Fixed introduced problem in FXDirBox.</li>
</ul>




<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
October 7, 2004 - FOX DEVELOPMENT 1.3.13
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
<ul>
  <li>Creation scarce resources such as images, icons, fonts, cursors, and windows now
  may generate exceptions instead of simply failing.  There are new exception types
  for these resources: FXWindowException, FXImageException, FXFontException.
  Note that exceptions are only thrown in case of errors due to limitations
  at run time; programming errors are still handled via fxerror().</li>
  <li>Added new API, tryHandle() to FXObject, which performs an exception-safe
  message call through handle().  This is now used by most widgets to push messages
  to their targets.</li>
  <li>Spruced up TARGA reader with alpha channel support in colormaps.</li>
  <li>Simplified internals on some widgets, in particular, eliminated some
  useless self-messages.</li>
  <li>Expanded documentation on some widgets.</li>
  <li>Added friend functions to FXVec4d and FXVec4f to construct plane equations
  from points, point and vector, or point and distance.</li>
  <li>Added API to FXVec4 for intersection test with line segment.</li>
  <li>Added API to FXVec4 for signed distance to point (if FXVec4 contains a
  normalized plane equation.</li>
  <li>Added API to FXVec3 to get normal to 3 points, or (approximate) normal to
  4 points.</li>
  <li>Changed defintion of FXSphere intersect with plane to mean normalized
  plane equation.  This is much faster as it eliminates bunch of multiplies
  and square root.</li>
  <li>Fixed the above function to return more sensible values.</li>
  <li>Calling setCurrentItem() on the FXListBox and FXComboBox now scrolls
  the current item into view inside the associated popup list.</li>
</ul>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
September 22, 2004 - FOX DEVELOPMENT 1.3.12
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
<ul>
  <li>Implemented new widget, FX7Segment, which draws LCD-style text.  This will look
  nice for clocks and timers.  Of course FX7Segment can be hooked up to a FXDataTarget.</li>
  <li>After creating a new directory in FXFileSelector, the panel immediately switches
  to that directory.</li>
  <li>Fixed bug in FXMenuButton which caused its FXPopup menu to be improperly resized
  first time around.</li>
  <li>Changed looks of FXDirSelector and added some much needed functionality to it;
  its fully on a par now with FXFileSelector.  This includes setting bookmarks and
  so on.</li>
  <li>Removed API to FXApp: awaken(); it will be split off into its own special class.</li>
  <li>Eliminated getClassNameLength() API which appears to be only used once in the
  entire library.  Also eliminated corresponding member variable and adjusted FXIMPLEMENT
  and FXIMPLEMENT_ABSTRACT macros.</li>
  <li>Added parameter to FXMutex, for creation of recursive mutexes.</li>
  <li>Added API addObject() to FXStream which allows additional objects to be
  entered into its hash table.</li>
  <li>FXStream now uses FXHash internally, eliminating some duplicate code.</li>
  <li>Added more extensive documentation in FXMDIChild and FXMDIClient.</li>
  <li>Added some API's to FXHash for use in other applications.</li>
  <li>Fixed some border cases in FXHash (when only 2 items in table).</li>
  <li>Extended capability of crop().  It can now accept arguments larger
  than the original image.  It has an extra argument which determines the
  color with which new pixels will be filled.  For example, given an original
  image of size wxh, a call to crop:
  <pre>
     image->crop(-1,-1,w+2,h+2,FXRGB(255,0,0));
  </pre>
  will resize the image and give it a red border all around.</li>
  <li>Added function getWMBorders() to FXTopWindow to obtain window-manager
  provided borders.  This allows you to determine the position of the window
  as the user sees it.  Note that if you have an unusual window manager,
  this may not work properly.</li>
</ul>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
September 8, 2004 - FOX DEVELOPMENT 1.3.11
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
<ul>
  <li>Added new standard dialog, FXChoiceBox.  It allows picking an item from a list.</li>
  <li>Added new API to FXApp: awaken().  This can be called by other threads to wake up
  the main user interface thread; it also causes a GUI update cycle, so you can call this
  in case a thread has changed something that needs to be reflected in the user interface.</li>
  <li>Added a new layout manager, FXDockSite.  Do not rely on this yet, it is still under
  development.  The purpose is ultimately to enable side-by-side docking toolbars.</li>
  <li>The API's findItem() and findItemByData() in FXTreeList, FXFoldingList, etc. have
  been updated; they now search the entire tree instead of just looking at a given
  level.</li>
  <li>Made slight optimization to FXFileDict; no longer creates icon only to discover
  that an icon-file does not exist.</li>
  <li>Border cases in FXFile::simplify() and FXFile::expand() now handled better.</li>
  <li>Added missing flavors for FXInputDialog; just as FXMessageBox, you now have
  stand-alone versions of these [as opposed to having to have an owner].</li>
  <li>Added API fxdllError() to FXDLL which can be used to obtain the error
  message.</li>
  <li>Fixed some tooltip trouble in FXPicker.</li>
  <li>FXRegion::bounds() now returns bounding rectangle as return value instead
  of as a parameter; this is more succint in usage.</li>
  <li>Adie now understands SUN CC compiler error syntax when hitting ^E to
  open a highlighted error message.</li>
  <li>Fixed some Adie syntax patterns.</li>
</ul>

<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
August 22, 2004 - FOX DEVELOPMENT 1.3.10
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
<ul>
  <li>Finished implementation of FXRuler widget.  FXRuler widget can be used to provide
  a scale above (or besides) a document.  It provides document margin control,
  tick marks, and optional indentation settings.  The entire ruler scale can be scrolled
  in case the document is larger than the visible area allows for.</li>
  <li>Updated fox.spec for package building; changed fox.spec.in so version numbers are
  automatically embedded into fox.spec.</li>
  <li>Fixed some inconsistent names in FXThread; hopefully, this will be the last
  API change for 1.4.</li>
  <li>Added feature to allow filter entry in the Filter combo box of the file dialog;
  this feature can be enabled with the allowPatternEntry() API's.</li>
  <li>Changed some enum-names in FXMemMap due to conflicting names on SGI machines.</li>
  <li>Removed expensive update handler for FXText and FXTextField: the method is not
  scalable to large numbers of widgets, or large numbers of FOX applications running
  on a desktop.  The method may be reinstated if a better idea arises.</li>
</ul>

<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
August 15, 2004 - FOX DEVELOPMENT 1.3.9
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
<ul>
  <li>Added classes FXSemaphore, FXCondition; tweaked API's of FXMutex, FXMutexLock just a bit.
  Note that the underlying implementation of the synchronization primitives is concealed from
  the application code; however, this does entail some guesswork about the probable sizes
  of these data structures.  There are asserts in the code to verify the assumptions; however,
  until you <em>know</em> that these assumtions are correct, I recommend compiling with
  debug mode the first time you're porting to a new platform.</li>
  <li>Having SEL_PASTE_SEL in FXText and FXTextField check for clipboard data was, in hindsight,
  probably not a good idea due to possibility of extraordinary amounts of network traffic
  in large applications.  The idea might come back at some later date when we have a
  better, more scalable, implementation concept.</li>
</ul>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
August 13, 2004 - FOX DEVELOPMENT 1.3.8
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
<ul>
  <li>Added class FXSplashWindow which puts the new shaped window feature to good use.</li>
  <li>Fixed bug inquireDNDTypes().</li>
  <li>Added FXMemMap class for memory mapped files.</li>
  <li>Implemented FXTopWindow placement patch.</li>
  <li>Update handler for SEL_PASTE_SEL in FXText and FXTextField now checks for clipboard data.</li>
  <li>Added some missing API's to FXFileSelector and FXFileDialog.</li>
  <li>FXFileDialog now remembers its size, file display mode, in the registry.</li>
</ul>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
August 13, 2004 - FOX STABLE 1.2.9
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
<ul>
  <li>Fixed bug inquireDNDTypes().</li>
  <li>Back-ported FXTopWindow placement patch.</li>
</ul>

<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
August 13, 2004 - OLD FOX STABLE 1.0.53
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
<ul>
  <li>Fixed bug inquireDNDTypes().</li>
</ul>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
August 2, 2004 - FOX STABLE 1.2.8
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
<ul>
  <li>Fixed bug in TARGA input routine fxloadTGA().</li>
  <li>Added support for 15bpp TARGA format.</li>
  <li>Updated config script for cygwin thread.</li>
  <li>Fixed configure issue with fox-config installation.</li>
  <li>Added FX_NO_GLOBAL_NAMESPACE to fxkeys.h.</li>
  <li>Fixed fxloadICO(), which was not accepting icons with 4 colors.</li>
</ul>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
July 31, 2004 - FOX DEVELOPMENT 1.3.7
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
<ul>
  <li>Added support for SUN Raster Image Format; thus, we have new classes FXRASImage and
  FXRASIcon, as well as fxsaveRAS() and fxloadRAS().</li>
  <li>Added RAS support to ShutterBug also.</li>
  <li>Fixed configure test for XShape support.</li>
  <li>Fixed configure issue with fox-config installation.</li>
  <li>Added preliminary support for XRandR (I can't test it on my video card
  as the NVidia driver does not seem to support it; so its as yet untested).</li>
  <li>Added getCurrentUserName() API to FXFile; it returns the current user name.</li>
  <li>Added:
  <pre>
        #ifndef FX_NO_GLOBAL_NAMESPACE
        using namespace FX;
        #endif
  </pre>
  to fxkeys.h.

</ul>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
July 28, 2004 - FOX DEVELOPMENT 1.3.6
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
<ul>
  <li>Added new API's to FXWindow for non-rectangular widgets.  The new API's are:
  <ul>
  <li>setShape()</li>
  <li>clearShape()</li>
  </ul>
  The setShape() API has several overloads; you can set the shape based on an FXRegion,
  a bitmap, or based on the shape mask of an icon.</li>
  <li>Updated the Shutterbug application to draw a shaped window, just the single
  icon:- its a window with legs ;-).</li>
  <li>Added a setRootWindow() API to FXApp which allows setting a custom root window.
  Changing the Root Window absolutely must be done prior to constructing any other
  widgets.</li>
  <li>Adie now only pops up the "File Changed Externally" dialog when the focus moves
  into the window.</li>
  <li>Added setData() API to FXImage.  This allows you to set the image buffer of the
  FXImage after construction.</li>
  <li>Relaxed check in fxloadICO().  It was not accepting icons with 4 colors.</li>
  <li>Implemented Lothar's patch to tooltip placement into FXToolTip; prior to the
  patch, a possibility existed for the tooltips to appear too close to the taskbar
  on Windows.</li>
</ul>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
July 18, 2004 - FOX DEVELOPMENT 1.3.5
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
<ul>
  <li>Added drawRoundedRectangle(), fillRoundedRectangle() and drawEllipse() and
  fillEllipse() API's to device context functions.</li>
  <li>Updated Windows VC++ project files for FXIFFImage.cpp, FXIFFIcon.cpp and fxiffio.cpp
  files.</li>
  <li>Added test for XShape extension to configure.in.</li>
  <li>PathFinder now can show IFF files if double-clicked.
  <li>Updated dctest with some drawings for new drawEllipse() and drawRoundedRectangle()
  API's.</li>
</ul>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
July 17, 2004 - FOX DEVELOPMENT 1.3.4
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
Finally, most of my coursework is now behind me (I've been teaching a Computer
Science class this summer!), and today was the first day I could pick up normal
FOX development again.  I still have a few more lectures and finals to prepare,
but I thought it'd be nice to make a release of the latest additions.
<ul>
  <li>Added for Amiga IFF files; this includes new classes FXIFFImage
  and FXIFFIcon.  Currently, it supports loading only, and files of type
  normal, HALFBRIGHT, HAM, HAM8, and 24-bit support.  I am interested to
  add Maya IFF support also, but I have insufficient information and I have
  no sample files of this format.</li>
  <li>An application-side FXMutex is now available. You can assume that each
  callback message handler runs protected under this lock, and the lock is
  released when blocking for events (thus, 99% of the time, the mutex is not
  held by the GUI thread).
  <li>Fixed issue with our own vsscanf() implementation which is used if no native
  version of this function is available.</li>
  <li>FXListBox, FXTreeListBox and FXComboBox should not react to arrows when
  disabled.</li>
  <li>Removed ID_QUERY_TIP, ID_QUERY_HELP in favor of new message types SEL_QUERY_TIP,
  SEL_QUERY_HELP.  The advantage is that we can (and do!) now bounce the ToolTip and
  Status help messages to the target object first; this allows your program to
  override the tooltip and status line help messages based on the widget from which
  the messages originate.</li>
  <li>Added findItemByData() to various list widgets so one can determine the item
  from the <em>void*</em> ptr passed during creation.  This is handy when the list
  widgets are filled with pointers to data in the application program and one has
  to resolve these pointers back to items.  Contributed by Mal Goris.</em>
  <li>The function fxloadPPM() returned FALSE, even if successful.  It should return
  TRUE if successful.</li>
</ul>



<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
June 18, 2004 - FOX DEVELOPMENT 1.3.3
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
<ul>
  <li>FXTreeList, FXList, FXIconList, FXFoldingList now invoke layout() inside
  makeItemVisible(), if necessary; this removes some problems with scrolling item
  into view just after the list was populated.</li>
  <li>Removed a great number of compiler warnings again.</li>
  <li>Made getItemAt() and makeItemVisible() virtual again.</li>
  <li>Fixed small bug in FXSpring widget.</li>
  <li>Adie now recognizes <b>filename(linenumber) : error message</b> when you
  invoke "Goto Selected".  It will load the file and jump to the line number.</li>
  <li>Also, another update has been made to the syntax pattern file;
  <em>please send your submissions for syntax patterns for other programming
  languages</em>!</li>
</ul>

<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
June 11, 2004 - FOX STABLE 1.2.4
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
Minor bug fix in FXObjectList which manifests itself on 64 bit machines; updating should not
be necessary for 32 bit users.<br>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
June 9, 2004 - Web Page Updated
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
Updated FOX Projects web page with new entry, XTC [X-Windows Test Control] application
which was developed by Daniel K. Osawa for <a href="http://www.intel.com">Intel Corporation's</a>
Enterprise Products Group.<br>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
June 3, 2004 - FOX STABLE 1.2.3, STABLE 1.0.52
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
I discovered a small bug and retroactively fixed the FOX 1.2 as well as the FOX 1.0
releases.  The particular bug was in the vector classes return value of the operator!(),
which should have been <b>int</b>.  This has now been fixed. <br>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
May 18, 2004 - FOX STABLE 1.2.1
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
As happens with a major release, some little tidbits were overlooked;
so here goes a small update with a couple of small fixes.
<ul>
  <li>Fixed some small bugs in Adie C++ patterns.</li>
  <li>The Library should now be called libFOX-1.2 of course!</li>
  <li>Forgot one file for the Borland C++ Makefile.bc in Adie.</li>
  <li>getCurrentContext() API needed to be stubbed out when building with
  NO OpenGL.</li>
</ul>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
May 16, 2004 - FOX STABLE 1.2.0
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
Here it is: the stable 1.2 release!
I'm going to be extremely busy in the next few months, so I figured
its good to get it out now!
<ul>
  <li>The <b>A.d.i.e. Editor</b> has a new syntax coloring engine!
  Since the new engine incrementally colorizes the text buffer, working
  with the editor on large text files no longer feels sluggish, but very
  responsive now.  The old registry-based patterns setup is also gone, in its
  place we now have a syntax file.  Windows users will enjoy this as
  this means you can just drop the provided <b>Adie.stx</b> file in your
  <b>$PATH</b> and then you're ready to go! <br>
  The syntax file does not specify colors, but only symbolic style values;
  the colors are still specified using the registry.  Since the initial
  color settings are rather boring, you will have to change the colors
  using the Preferences Dialogs.  This needs to be done only once, the
  colors will be saved to the registry after that.  Future versions will
  probably provide some default color setup.</li>
  <li>The current style file contains some preliminary patterns for C++,
  Python, and Ruby, as well as a few other languages.  I expect to provide
  additional patterns, and I welcome contributions in this area.</li>
  <li>The new A.d.i.e. can handle multiple top level windows.</li>
  <li>A reminder:- the <b>A.d.i.e. Editor</b> is licensed under
  <b>GNU General Public License</b>, and not Lesser GPL like the FOX Library
  itself.  There has been some confusion about this in the past.</li>
  <li>Also, fixed small problem with FXGLVisual::isBufferSwapCopy().</li>
  <li>Simplified blinking cursor code in FXText; also fixed some unpainted
  pixels during blink near margins.</li>
  <li>Fixed a few other minor things, as usual.</li>
</ul>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
May 13, 2004 - News
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
What's going on:
<ul>
  <li>My DSL provider changed IP numbers on me; I had hoped to change my
  domain registrar at the same time, so as to have minimal disruption.
  Alas, it didn't work out that way; as of now, the registrar has been changed
  and is set up, but the old registrar still maps
  <a href="http://fox-toolkit.org"><b>fox-toolkit.org</b></a> to
  their parking site.  The good news is, I have also registered
  <a href="http://fox-toolkit.com"><b>fox-toolkit.com</b></a>
  and this should now be fully operational.</li>
  <li>Meanwhile, Sander has registered
  <a href="http://fox-toolkit.net"><b>fox-toolkit.net</b></a>
  and this site now holds the FOX community web pages.</li>
  <li>On the FOX development front, I have been working on the Adie editor.
  I started uprooting the way style and syntax information is read in, because
  for people running on Windows its pretty hard to make use of the standard
  style and syntax files.  With the new system, the style and syntax descriptions
  will just be read from an ordinary file which you can download and place on
  a specific location for Adie to find.<br>
  While working on this, I decided to make a <em>small</em> side-step and implement
  the incremental style recoloring I had been planning to do.  This small side-step
  turned out to be a little more involved than originally planned.<br>
  The good news is, I just completed some of the code restructuring and it appears
  that it works!  This means I've now come back to the issue of the style and syntax
  file reader; hopefully I will have something for y'all in the next couple of
  days.</li>
  <li>There have been a few minor bug fixes in FOX, and these will go out at the
  same time.</li>
  <li>Totally unrelated to FOX, I have recently bought a NVidia CineFX
  based video card and have been playing with that.  I have managed to
  do some cube- and sphere-environment mapping, and even played around
  with some OpenGL vertex-programs.  My next project is to see how I
  can do environment mapped bump mapping, and write some fragment-programs
  as well. Of course, all this is done using the FOX FXGLViewer!<br>
  The new programmable GPU's are certainly very exciting, and I'm hoping
  to be able to get more into it.  Perhaps a few new FOX 3D capabilities
  will result from it one of these days.</li>
  <li>Finally, it appears that due to changing circumstances, my spare time will
  be extremely over-committed until the end of July:- I will be teaching
  some undergraduate computer science classes and this will absorb most of
  my spare time in the coming months.  I hope to be able to whip out this
  upcoming release before I'm really getting bogged down in it.</li>
</ul>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
April 24, 2004 - New drop: DEVELOPMENT FOX 1.1.53
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
Collection of bug fixes today:
<ul>
  <li>New function fxwuquantize() added for quantizing colors using Wu's method.  This
  algorithm may be used instead of the Floyd-Steinberg fxfsquantize() which
  is fast but does not give very nice-looking results.<br>
  Pass FALSE for the "fast" parameter in fxsaveGIF() to use this algorithm.</li>
  <li>Shutterbug now saves using the new Wu quantization algorithm when saving
  GIF or XPM.</li>
  <li>Some more tweaks added to FXPopup::popup() having the menu positioned
  right when using multiple monitors; in particular, the code now detects when
  running on W2K and above.</li>
  <li>FXLabel now responds to ID_SETVALUE, which sets the string.</li>
  <li>VISUAL_SWAP_COPY mode added for FXGLVisual mode; this currently works
  on Windows only.  When passed, the PIXELFORMAT matcher will favor a BLIT
  instead of SWAP for double buffer mode.</li>
  <li>Added tweak in FXCursor to suppress color cursors on Windows versions
  below Windows 2K; it will perform a thresholding operation if you use a
  color cursor on Windows NT, 9x.</li>
  <li>FXFoldingList ID_QUERY_TIP now shows a tip comprising the first text
  field only, instead of the entire item string.</li>
  <li>FXDCWindow's setClipRegion() was leaking a region under Windows.</li>
</ul>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
April 16, 2004 - New drop: DEVELOPMENT FOX 1.1.52
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
Collection of bug fixes today:
<ul>
  <li>FXFile::absolute() now returns no trailing "/" when passed an empty filename
  argument.</li>
  <li>FXScrollArea now keeps viewport at least 50% filled with data; as size decreases
  below the point where scrollbars would take up most of the space, the scrollbars
  will be hidden.  Note that you can still scroll using right-mouse dragging or using
  the mouse wheel.</li>
  <li>Fixed some minor 64-bit porting issues reported due to Itanium port.</li>
  <li>Small problem was discovered in cursor blinking inside FXText widget; the
  clip rectangle used to redraw characters was slightly too large.  This primarily
  affected the Windows port, especially when ClearType was enabled.</li>
  <li>Addressed the missing FXAPI declarations in the image loader routines; during
  compilation for DLL build, incorrect external linkage is generated unless the
  proper declaration has been seen by the compiler.</li>
  <li>Focus navigation in FXSplitter and FX4Splitter did not take into account
  the need to skip hidden widgets; this caused focus to land on invisible widgets.</li>
  <li>Character type functions should be called with argument from 0 to 255; there
  were a few places in FXText, FXRex, and elsewhere where this was not guaranteed.
  This issue chiefly affects non ASCII character sets.</li>
  <li>Added Dmitris' patch to FXPopup to affect placement of popups on multi-head
  machines under Windows.</li>
  <li>Hopefully fixed the (hard to reproduce) infinite loop in FXRegistry write-back
  on Windows.</li>
</ul>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
March 29, 2004 - New drop: DEVELOPMENT FOX 1.1.51
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
New for this release:
<ul>
  <li>Added basic clipboard support to FXTable.</li>
  <li>Added layout modes for header controls in FXTable; column (row) headers can now be
  fixed height (width) or have a height (width) which is computed from the contents;
  the rest of the table will adjust automatically.</li>
  <li>Added API's to change height (width) of column (row) header controls in FXTable.</li>
  <li>Implemented selectRow() and selectColumn() API's in FXTable.</li>
  <li>Fixed problem in FXTable's killSelection() API.</li>
  <li>FXTable now can understand ID_CUT_SEL, ID_COPY_SEL, ID_PASTE_SEL, and ID_DELETE_SEL
  messages directly.</li>
  <li>Fixed getDefaultWidth() and getDefaultHeight() in FXTable when visible rows and
  columns are set: now properly accounts for the scrollbars and header control layout
  modes.</li>
  <li>Added extractText() and overlayText() API's to FXTable to obtain delimiter-
  separated text block from the table, and to populate the table from a text block,
  respectively.</li>
  <li>When cell is changed to NULL we now issue SEL_REPLACED callback message instead
  of SEL_DELETED.  SEL_DELETED should probably be reserved for when rows and or columns
  disappear from the table.</li>
  <li>Added global functions fxtoDOS() and fxfromDOS() to convert back and
  forth to DOS and UNIX string formats.</li>
  <li>Fixed layout.dsp project for VC++.</li>
</ul>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
March 25, 2004 - New drop: DEVELOPMENT FOX 1.1.50
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
I'm pretty busy with my software, so some of the additions to FOX are
being driven by this work and by bug reports from the mailing list.
I hope, however, to devote a block of time to pure FOX work in the
weeks to come.<br>
Anyway, here's what is new for today:
<ul>
  <li>Added FXRealSlider widget; this was from an implementation initially
  posted by Kevin Fitch on the mailing list; unfortunately, the original
  implementation had some serious issues with rounding.  Hopefully, I have
  resolved most of these with this version; the only remaining issue is
  that we still want some minor tweak to keep the reported values on
  "nice numbers".  Currently, nice numbers can however be achieved when
  using discrete hops, for example when auto-incrementing, auto-decrementing,
  or using the mouse wheel.</li>
  <li>Added fillElms() API to FXElement.h.</li>
  <li>Added setHasItems() and hasItems() API's to FXTreeItem and FXFoldingItem.
  These API's can be used to cause placememt of the "+ box" in front of the
  tree item even though the item may not have children yet.  It is used in
  FXDirList to allow deferring the scan of subdirectories until the item
  is really opened.</li>
  <li>Added wheel support to FXSlider and FXRealSlider.</li>
  <li>Made subclassing FXFileSelector a bit easier.</li>
  <li>Killed warning printouts in TIFF I/O.</li>
  <li>Fixed subtle bugs in FXSlider; vertical slider with 0 range
  was showing head on top instead of on the bottom.</li>
  <li>Fixed FXDial onMouseWheel: it should always return 1.</li>
  <li>Changed definiton of "empty range" in FXRangef and FXRanged.
  Range is empty when negative bounding box, not when negative or
  zero.  This allows range boxes around single points.<br>
  A similar fix was added to FXSpheref and FXSphered bounding
  spheres.</li>
  <li>Put back FXSelType for message type declaration in fxdefs.h.</li>
</ul>

<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
March 10, 2004 - New drop: DEVELOPMENT FOX 1.1.49
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
New stuff in this release
<ul>
  <li>Added API's to FXFont to obtain actual matched font information;
  this does not work yet for Xft fonts, as there doesn't seem to be a
  way to determine what font was matched for Xft [If someone knows the
  scoop please let me know].  Also, there are some questions about
  retrieving the actual font info under Windows; caveat emptor.</li>
  <li>Updated the Watcom C++ makefiles.</li>
  <li>Fixed bug in FOX-supplied vsscanf().  Note that some systems like Linux
  do not use the FOX-supplied function, but use the system-supplied one, which
  works correctly.</li>
</ul>

<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
March 6, 2004 - New drop: DEVELOPMENT FOX 1.1.48
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
New stuff in this release
<ul>
  <li>Added new API's to FXBitmap: crop(), rotate(), mirror(), fill(), and scale().
  Thanks to Marc Cartright for initial versions of these routines.</li>
  <li>Added FXBitmapView, FXBitmapFrame classes for black/white bitmap
  display; these work exactly the same as the corresponding FXImage classes
  only they display a 1-bit/pixel FXBitmap.</li>
  <li>When reswrapping text, the output array is now declared as <em>char</em>
  instead of <em>unsigned char</em>.  You can override this with the new option
  <b>-u</b> which forces <em>unsigned char</em> mode.</li>
  <li>Added bitmapviewer demo program.</li>
  <li>You can now set display foreground color in Calculator.</li>
  <li>Updated TIFF i/o routines for libtiff version 3.6.1.</li>
  <li>Fixed FXThread internals for SUN and SGI builds; dropped min stack size
  test as the symbol is not available on all platforms.</li>
  <li>Fixed "lost line" from FXDCWindow (presumably, keyboard incident).</li>
  <li>Fixed various minor bugs in FXBitmap; updated Marc's routines to
  work for bitmaps with widths which are not multiples of 8.</li>
  <li>Slight speedup in FXStream block mode save/load by taking byteswap
  test out of the loop.</li>
</ul>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
February 24, 2004 - New drop: DEVELOPMENT FOX 1.1.47
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
New stuff in this release
<ul>
  <li>Added FXSpheref and FXSphered spherical bounds classes.</li>
  <li>Broken up FXRange into new FXRangef and FXRanged classes; new
  and more usable interior representation, plus a number of new API's.
  Be aware that old code using FXRange needs to be updated; in particular,
  indexing is now reversed!</li>
  <li>Moved patternFromText() and extensionFromPattern() to public API in
  FXFileSelector.</li>
  <li>Added setMatchMode() and getMatchMode API's to FXFileSelector and
  FXFileDialog.  You can use these to change the wildcard matching
  options in the FXFileDialog (like e.g. FILEMATCH_CASEFOLD option!).</li>
  <li>Updated FXGLVisual internals; now searches for 24bit Z-Buffer by
  default.  Since some cards support only 24bit Z-buffer when stencil
  buffer is also enabled, decreased matching weight of stencil buffer
  a little bit to weigh Z depth higher.</li>
  <li>Added API setDiskColor() and getDiskColor() to FXRadioButton so
  you can change both the ball as well as the disk color of the radio button.</li>
  <li>Added setBoxColor() and getBoxColor() API's to FXCheckButton so you
  can change both the checkmark color as well as the background color of the
  check box.</li>
  <li>Updated FXGLViewer, FXGLObjects to use new FXRangef classes.</li>
  <li>Removed FXThread::yield().  Apparently, this functionality is
  not always available in POSIX.</li>
  <li>Added FXRegion::reset() to clear region back to empty.</li>
  <li>Fixed some typo bugs in FXQuatf and FXQuatd.</li>
  <li>Cleaned up some functions from FXImage's public interface.</li>
  <li>Fixed bug in FXDCWindow Xft2 font handling.</li>
  <li>When FXSpinner or FXRealSpinner are set to be non-editable,
  the value can no longer be changed in any way by the user but only
  programmatically.</li>
  <li>Fixed bug in FXImage mirror() implementation; mirror() was
  not working when mirroring both vertically and horizontally.</li>
  <li>Added safety check for potential divide by zero in FXMatrix.</li>
  <li>FXEvent type member was not always set in SEL_MOTION message under WIN32.</li>
  <li>Added new test program <b>layout</b> originally constributed by Bill Baxter.</li>
  <li>New code in FXImage render() should leave some memory checkers less confused.</li>
  <li>Added EOLSTRING macro, which is set to "\n" on UNIX and "\r\n" on Windows;
  this works similarly to PATHSEPSTRING and PATHLISTSEPSTRING.</li>
</ul>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
February 8, 2004 - New drop: DEVELOPMENT FOX 1.1.46
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
New stuff in this release
<ul>
  <li>Added FXThread and FXMutex classes for threading support.</li>
  <li>Updated pthread library detection.</li>
  <li>Updated Xft2 detection when compiling with <em>--with-xft=yes</em>.</li>
  <li>Removed <em>nr</em>,<em>nc</em> parameters to FXTable; it was found to be
  confusing.  You can use table->setVisibleRows() and table->setVisibleColumns() to
  force a particular layout size of the table.</li>
  <li>Fixed FXTable default size computation. It didn't properly account for the
  headers.</li>
  <li>Removed confusing "nvis" parameter to FXList, FXTreeList, and other list
  widgets.  Use list->setNumVisible() to set the number of visible items if a
  non-zero value is desired.</li>
  <li>Fixed some issues in FXFont and FXDCWindow as suggested by Ivan Markov.</li>
  <li>Added documentation in the standard tarball delivery.</li>
  <li>If you have cool applications based on FOX, commercial or
  otherwise, please consider submitting a small abstract and screenshot for the
  FOX projects page!.</li>
</ul>

<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
January 26, 2004 - A New Beginning!
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
<b><font size=+1>I'm no longer at CFD Research Corp!</font></b>
<p>
<b>What happened?</b>
<ul>
  <li>CFD Research Corp. and yours truly parted ways.</li>
  <li>See CFD Research Corp. <a href="http://www.cfdrc.com/news/press_releases/cfdrc-esi.html">spins off software products division</a> announcement.</li>
</ul>
<b>What is the status of FOX?</b>
<ul>
  <li>CFD Research has officially disclaimed all copyright interests in FOX; in practical
  terms, that means I get to keep full rights and title to FOX.</li>
  <li>CFD Research will continue to be able to use FOX under the current license.</li>
</ul>
<b>What will happen to FOX in the future?</b>
<ul>
  <li>In the immediate future, I will have a lot more time to concentrate on FOX ;-)</li>
  <li>FOX will continue to be available under its current license, if I can help it.</li>
  <li>I am now offering <b><a href="http://www.fox-toolkit.org/consulting.html">consulting services</a></b>.</li>
  <li>I hope to be able to not only work on, but continue to use FOX myself in the
  future.</li>
</ul>


<!--- TOPIC TITLE -->
<p>
<table width=100% cellpadding=0 cellspacing=2><tr><td width=100% valign=bottom id=HEADLINE><b>
Older News
<br><img src='art/line.gif' width=100% height=1></b></td></tr></table>
<p>
<!--- TOPIC TITLE -->
<a href="news1.html">Older news...</a>

<p>
<center>
<script type="text/javascript"><!--
google_ad_client = "pub-3898868524945843";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</center>

<!--- COPYRIGHT -->
<p>
<table width=100% cellpadding=0 cellspacing=0><tr><td width=100% valign=top id=HEADLINE align=right>
<img src='art/line.gif' width=100% height=1><font size=-1>
Copyright &copy; 1997-2005 Jeroen van der Zijp</font>
<!-- Begin Nedstat Basic code --><!-- Title: FOX --><!-- URL: http://www.fox-toolkit.org --><script language="JavaScript" src="http://m1.nedstatbasic.net/basic.js"></script>
<A target=_blank href="http://v1.nedstatbasic.net/stats?ABDZOQqjU2gPjOQDQH/c7z1OusNg"><IMG src="http://m1.nedstatbasic.net/n?id=ABDZOQqjU2gPjOQDQH/c7z1OusNg&p=1&w=1280" border=0 width=18 height=18 align=right></A>
</td></tr></table>
</p>
<!--- COPYRIGHT -->

</body>
</html>
